using System;
using System.Collections.Generic;
using System.Text;

namespace Adoor.Domain.Tiers
{
 	/// <summary>
	/// Summary description for InfoComplementaire.
	/// </summary>
	public abstract class InfoComplementaire
	{      

		public virtual String TitrePension
		{
			get
			{
				return this.m_TitrePension;
			}
			set
			{ 
				this.m_TitrePension = value;
			}
		}

        public virtual String MotifDepart
		{
			get
			{
                return this.m_MotifDepart;
			}
			set
			{
                this.m_MotifDepart = value;
			}
		}
               
        public virtual String Departement
		{
			get
			{
				return this.m_Departement;
			}
			set
			{ 
				this.m_Departement = value;
			}
		}

        public virtual String Service
		{
			get
			{
				return this.m_Service;
			}
			set
			{ 
				this.m_Service = value;
			}
		}

        public virtual String Unite
		{
			get
			{
				return this.m_Unite;
			}
			set
			{ 
				this.m_Unite = value;
			}
		}

        public virtual String Categorie
		{
			get
			{
				return this.m_Categorie;
			}
			set
			{ 
				this.m_Categorie = value;
			}
		}

        public virtual String AyantDroit
		{
			get
			{
				return this.m_AyantDroit;
			}
			set
			{ 
				this.m_AyantDroit = value;
			}
		}
            
        public virtual String TauxReversion
		{
			get
			{
				return this.m_TauxReversion;
			}
			set
			{ 
				this.m_TauxReversion = value;
			}
		}

        public virtual String TauxReversionSimple
		{
			get
			{
				return this.m_TauxReversionSimple;
			}
			set
			{ 
				this.m_TauxReversionSimple = value;
			}
		}

        public virtual String TauxOrphelin
		{
			get
			{
				return this.m_TauxOrphelin;
			}
			set
			{ 
				this.m_TauxOrphelin = value;
			}
		}

        public virtual DateTime DateDebutVersement
        {
            get
            {
                    return this.m_DateDebutVersement;
            }
            set
            {
                    this.m_DateDebutVersement = value;
            }
        }

        public virtual DateTime DateFinVersement
        {
            get
            {
                    return this.m_DateFinVersement;
            }
            set
            {
                    this.m_DateFinVersement = value;
            }
        }

        public virtual Int32 NbreAnneeCadre
        {
            get {
                return this.m_NbreAnneeCadre; 
            }
            set
            {
                this.m_NbreAnneeCadre = value;
            }
        }

        public virtual Int32 NbreMoisCadre
        {
            get {
                return this.m_NbreMoisCadre; 
            }
            set
            {
                this.m_NbreMoisCadre = value;
            }
        }

		
		/// <summary>
		/// Called when user is creating a new entity.
		/// </summary>
		protected virtual void OnCreate(object[] args)
        {	
		}
		
		/// <summary>
		/// Called when user is retreiving an entity from storage
		/// </summary>
		protected virtual void OnMaterialize()
		{

		}
		
		protected abstract System.String m_TitrePension { get; set; }
        protected abstract System.String m_MotifDepart { get; set; }		
        protected abstract System.DateTime m_DateDebutVersement { get;set;}
        protected abstract System.DateTime m_DateFinVersement { get;set;}        
        protected abstract System.String m_Departement { get; set; }
        protected abstract System.String m_Service { get; set; }	
        protected abstract System.String m_Unite { get; set; }	
        protected abstract System.String m_Categorie { get; set; }	
        protected abstract System.String m_AyantDroit { get; set; }			
        protected abstract System.String m_TauxReversion { get; set; }	
        protected abstract System.String m_TauxReversionSimple { get; set; }	
	    protected abstract System.String m_TauxOrphelin { get; set; }
        protected abstract System.Int32 m_NbreAnneeCadre { get; set;}
        protected abstract System.Int32 m_NbreMoisCadre { get; set;}
        		
	}
}
